The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.
In general, there may be multiple processing systems in a distributed environment, with each processing system configured to perform its share of the workload. For example, the workload may include multiple jobs. The jobs may be stored in a database. Each processing system may be associated with a scheduler. Each scheduler may be configured to acquire a job from the database based on a trigger. Typically, when a trigger occurs, a scheduler acquires a job associated with the trigger and fires the trigger. This causes the job to be executed. A lock may be used to enable the scheduler to update the trigger. This approach may work fine when the number of triggers is low. However, when the number of triggers increases, the above approach may cause many triggers to miss their scheduled firing time resulting in missing execution of jobs, among other problems.